home *** CD-ROM | disk | FTP | other *** search
/ Dynamic HTML Construction Kit / Dynamic HTML Construction Kit.iso / earthlink / nscomm / java40.jar / java / awt / FontMetrics.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-03  |  1.9 KB  |  90 lines

  1. package java.awt;
  2.  
  3. import java.io.Serializable;
  4.  
  5. public abstract class FontMetrics implements Serializable {
  6.    protected Font font;
  7.  
  8.    protected FontMetrics(Font var1) {
  9.       this.font = var1;
  10.    }
  11.  
  12.    public Font getFont() {
  13.       return this.font;
  14.    }
  15.  
  16.    public int getLeading() {
  17.       return 0;
  18.    }
  19.  
  20.    public int getAscent() {
  21.       return this.font.getSize();
  22.    }
  23.  
  24.    public int getDescent() {
  25.       return 0;
  26.    }
  27.  
  28.    public int getHeight() {
  29.       return this.getLeading() + this.getAscent() + this.getDescent();
  30.    }
  31.  
  32.    public int getMaxAscent() {
  33.       return this.getAscent();
  34.    }
  35.  
  36.    public int getMaxDescent() {
  37.       return this.getDescent();
  38.    }
  39.  
  40.    public int getMaxDecent() {
  41.       return this.getMaxDescent();
  42.    }
  43.  
  44.    public int getMaxAdvance() {
  45.       return -1;
  46.    }
  47.  
  48.    public int charWidth(int var1) {
  49.       return this.charWidth((char)var1);
  50.    }
  51.  
  52.    public int charWidth(char var1) {
  53.       if (var1 < 256) {
  54.          return this.getWidths()[var1];
  55.       } else {
  56.          char[] var2 = new char[]{var1};
  57.          return this.charsWidth(var2, 0, 1);
  58.       }
  59.    }
  60.  
  61.    public int stringWidth(String var1) {
  62.       int var2 = var1.length();
  63.       char[] var3 = new char[var2];
  64.       var1.getChars(0, var2, var3, 0);
  65.       return this.charsWidth(var3, 0, var2);
  66.    }
  67.  
  68.    public int charsWidth(char[] var1, int var2, int var3) {
  69.       return this.stringWidth(new String(var1, var2, var3));
  70.    }
  71.  
  72.    public int bytesWidth(byte[] var1, int var2, int var3) {
  73.       return this.stringWidth(new String(var1, 0, var2, var3));
  74.    }
  75.  
  76.    public int[] getWidths() {
  77.       int[] var1 = new int[256];
  78.  
  79.       for(char var2 = 0; var2 < 256; ++var2) {
  80.          var1[var2] = this.charWidth(var2);
  81.       }
  82.  
  83.       return var1;
  84.    }
  85.  
  86.    public String toString() {
  87.       return this.getClass().getName() + "[font=" + this.getFont() + "ascent=" + this.getAscent() + ", descent=" + this.getDescent() + ", height=" + this.getHeight() + "]";
  88.    }
  89. }
  90.